import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from "vuex-persistedstate"

Vue.use(Vuex)

export default new Vuex.Store({
  plugins: [createPersistedState()],
  state: {
  //  红包雨
    redFlag: true,
  //  底部选中样式
    active:0,
  //  登陆状态
    isLogin:false,
  //  用户信息
    userInfo:{
      historyList:[]
    },
    // 下单提醒的显示与隐藏
    show:false,
    // isLogin:false,
    // 购物车列表
    shopCarList:[],
    // 存储已选中的商品
    whichCheckd:[],
    // 选中的商品数量
    checkedNum:0,
    // 选中的商品的总价格
    checkedAllPrice:0,
    // 是否全选
    allCheck:false,
    // 选中的收货地址
    mineAddress:{},
    cannotSubmit: true,
    allNotCheck:false,
    isDeleting:false,
    // 是否点击的全部订单进入的订单页面
    isClickAllOrder:true,
  },
  mutations: {

    // //更改分类选中效果
    // changeCategoryId(state,paylode){
    //
    // },
    // 显示与隐藏幕帘（支付二维码）
    showPopup(state) {
      state.show = true;
    },
  //  添加历史记录
    addHistory(state,paylode){
      state.userInfo.historyList.push(paylode)
    },
  //  删除历史记录
    removeHistory(state,paylode){
      state.userInfo.historyList.splice(paylode,1)
    },
  //  获取用户信息
    getUserInfo(state,paylode){
      state.userInfo.userName = paylode.userName
      state.userInfo.avatar = paylode.avatar
      state.userInfo.phonenumber = paylode.phonenumber
    },
    // 改变登录状态
    loginTrue(state){
      state.isLogin = true
    },
    loginFalse(state){
      state.isLogin = false
    },
  //  改变底部样式
    changeFooter(state,paylode){
      state.active = paylode.active
    },
    changeNav(state,payload){
      state.active = payload
    },
    hidePopup(state){
      state.show = false
    },
    // loginFalse(state){
    //   state.isLogin = false
    // },
    changePrice(state,data){
      state.checkedAllPrice = data.checkedAllPrice
    },
    // 获取购物车列表后改变全局变量
    getShopCar(state,data){
      state.shopCarList = data
    },
    // 存储已选中的商品
    pushCheckedList(state,data){
      state.whichCheckd.push(data)
    },
    // 更新选了几件商品
    changeCheckedNum(state,data){
      state.whichCheckd[data.index].num = data.value
    },
    // 更新选中状态
    changeCheckedBoolean(state,data){
      state.whichCheckd[data.index].checked = data.value
    }

  },
  actions: {
  },
  modules: {
  }
})
